前面我們提到以太坊的特色就是擁有智能合約(Smart Contracts),其白皮書內提到
以太坊的目的是創建一個用於建立去中心化應用的替代協議,我們認為提供一套不同的折衷方案對大量去中心化應用非常有用,尤其是那些強調快速開發、小型和不常用應用的安全性,以及應用間高效交互能力的程序。 以太坊通過構建本質上是最終的抽象基礎層來實現這一點:一種內置圖靈完備編程語言的區塊鏈,允許任何人編寫智能合約和去中心化應用,並在其中設立他們自由定義的所有權規則、交易方式和狀態轉換函數。
簡單來說,以太坊就是一個基於區塊鏈的智能合約平臺。
合約(contract)其實在我們平時生活中很常見,例如說我們租房子,工作保密協定...等,也就是說雙方確立權利義務的一種契約,是現在社會正常運行的一個基本要素。
那合約這種寫死的東西如何智能呢?
這邊智能的意思其實是指可以自動重複執行的合約。
以現實世界的例子來說明智能合約應該會比較好理解。
我們要從 ATM 中提款,那我們要先輸入要提取的金額,ATM 機就會判斷我們是否有足夠的餘額如果有就成功提款,如果餘額不足則會有回饋,簡單來說智能合約就是
if...then...
智能合約加上區塊鏈後,有了更完善的功能,前面說過區塊鏈具有,去中心化、不可篡改性、公開透明及可追溯性...特性,讓我們不會遇到小蝦米對抗大鯨魚的狀況,且在區塊鏈上的智能合約都是公開的所有人都可以去檢視程式碼。
智能合約是 web3 的重要元素,去中心化應用(DApp),也都是基於多個智能合約的集合。